package pl.kosmowska.ewelina.client.views;

import java.util.List;

import pl.kosmowska.ewelina.client.app.requestfactory.dto.CategoryDataProxy;
import pl.kosmowska.ewelina.client.views.widgets.CategoryEditItemWidget;
import pl.kosmowska.ewelina.client.views.widgets.CategoryWidget;

import com.google.gwt.place.shared.Place;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.TreeItem;


public interface CategoryView extends IsWidget {

	interface Presenter {
		void goTo(Place place);

		void loadCategories();

		void save(TreeItem mailPanelRoot);

		void removeCategoryItem(String id, CategoryEditItemWidget categoryEditItemWidget);

		void deleteCategory(CategoryDataProxy categoryData,
				CategoryWidget categoryWidget);
	}

	void setPresenter(Presenter presenter);


	void initCategoryList(List<CategoryDataProxy> categoryDataList);

	void showCatoryTree();

	void showMessage(String message);

	boolean isAlreadyInit();

	void setAlreadyInit(boolean alreadyInit);


}